package in.data; import android.os.Parcel; import android.os.Parcelable; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import java.util.List; import in.lib.utils.Debug; import in.lib.utils.SerialReaderUtil; import in.lib.utils.SerialWriterUtil; import in.model.base.Model; import lombok.Data; @Data public class Meta extends Model { protected String minId = "-1"; protected String maxId = "-1"; protected boolean moreAvailable; @Override public Meta createFrom(JsonElement element) { try { JsonObject metaObject = element.getAsJsonObject(); this.minId = metaObject.get("min_id").getAsString(); this.maxId = metaObject.get("max_id").getAsString(); this.moreAvailable = metaObject.get("more").getAsBoolean(); return this; } catch (Exception e) { Debug.out(e); } return null; } @Override public Meta createFrom(Parcel parcel) { super.createFrom(parcel); return this; } @Override public List<? extends Model> createListFrom(JsonElement element) { // Not used return null; } @Override public String getVersion() { return "0a7eb386-b54a-4d33-aeb6-15f1fa3de452"; } @Override public Meta read(SerialReaderUtil util) { try { String version = util.readString(); if (!version.equals(getVersion())) return null; minId = util.readString(); maxId = util.readString(); moreAvailable = util.readBoolean(); return this; } catch (Exception e) { Debug.out(e); } return null; } @Override public void write(SerialWriterUtil util) { try { util.writeString(getVersion()); util.writeString(minId); util.writeString(maxId); util.writeBoolean(moreAvailable); } catch (Exception e) { Debug.out(e); } } public static final Parcelable.Creator<Meta> CREATOR = new Creator<Meta>() { @Override public Meta[] newArray(int size) { return new Meta[size]; } @Override public Meta createFromParcel(Parcel source) { return new Meta().createFrom(source); } }; }